iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
Software Development

燃燒大三的成果發表系列 第 28

燃燒大三的成果發表第二十八天 - git(四)

  • 分享至 

  • xImage
  •  

昨日我們將整個流程run 過第二次,並且加上詳細的紀錄,今天我要run第三次,並且來介紹修改以及如何返回的指令。

首先我們隨便修改程式碼的其中一部份,發送到暫存區

然後我們可以透過git restore -S <filename>將暫存區的檔案回推,如果只有指定檔案參數可以輸入檔名,這邊我用「本次commit」


使用這個指令的時候,要十分的小心,除了再add可以新增檔案到暫存區以外,底下有一行

如果已經將暫存區回復一次之後,不帶參數再restore一次,會將程式的修改都將回復,非常的危險,使用上一定要特別注意

接下來要分享是更可怕更危險的東西reset,目前我的狀態以及commit紀錄是這樣

有三種不同程度的參數可以下達,不過無論是哪一種皆會使commit紀錄做更改,所以建議是在「本次commit已發送」的情況下使用,只有下達add的話,想從暫存區回推用上面的restore方法即可,但是假設今天我的commit出去的話,我可以
1.

使用git reset -- soft,將commit回推,add到暫存的檔案不動。HEAD^,是指當前commit的前一個。
2.

使用git reset -- mixed,如果reset沒加參數的話,預設就是mixed,將commite以及暫存區的東西都回推。
3.

使用git reset -- hard,全部都回推,連程式碼的修改也刪除,完全的回復到上一個commit的狀態,所以也非常危險,要注意使用。

今天介紹了回推的方法,非常重要,因為人總會有失手或者後悔的時候,知道如何回推是一件重要的事情,明天要來介紹一些剩下常用的其他用法。


上一篇
燃燒大三的成果發表第二十七天 - git(三)
下一篇
燃燒大三的成果發表第二十九天 - git(五)
系列文
燃燒大三的成果發表30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言